package com.bsoft.gol.hcs.specialist.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "fus_index_result")
public class FusIndexResult implements Serializable {


	private String indexResultId;
	private String indexId;
	private String indexResultContent;
	private String indexResultType;
	private String indexResultName;
	private String sampleType;
	private String sampleName;
	private String measureType;
	private String measureName;
	private String gender;
	private Integer ageUpperLimit;
	private Integer ageLowerLimit;
	private String ageLimitUnion;
	private String upperLimit;
	private String lowerLimit;
	private String indexIds;
	private String indexDescription;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date createTime;

	@Id
	@Column(name = "index_result_id")
	public String getIndexResultId() {
		return indexResultId;
	}

	public void setIndexResultId(String indexResultId) {
		this.indexResultId = indexResultId;
	}

	@Basic
	@Column(name = "index_id")
	public String getIndexId() {
		return indexId;
	}

	public void setIndexId(String indexId) {
		this.indexId = indexId;
	}

	@Basic
	@Column(name = "index_result_content")
	public String getIndexResultContent() {
		return indexResultContent;
	}

	public void setIndexResultContent(String indexResultContent) {
		this.indexResultContent = indexResultContent;
	}

	@Basic
	@Column(name = "index_result_type")
	public String getIndexResultType() {
		return indexResultType;
	}

	public void setIndexResultType(String indexResultType) {
		this.indexResultType = indexResultType;
	}
	@Basic
	@Column(name = "index_result_name")
	public String getIndexResultName() {
		return indexResultName;
	}

	public void setIndexResultName(String indexResultName) {
		this.indexResultName = indexResultName;
	}

	@Basic
	@Column(name = "sample_type")
	public String getSampleType() {
		return sampleType;
	}

	public void setSampleType(String sampleType) {
		this.sampleType = sampleType;
	}

	@Basic
	@Column(name = "sample_name")
	public String getSampleName() {
		return sampleName;
	}

	public void setSampleName(String sampleName) {
		this.sampleName = sampleName;
	}
	@Basic
	@Column(name = "measure_type")
	public String getMeasureType() {
		return measureType;
	}

	public void setMeasureType(String measureType) {
		this.measureType = measureType;
	}
	@Basic
	@Column(name = "measure_name")
	public String getMeasureName() {
		return measureName;
	}

	public void setMeasureName(String measureName) {
		this.measureName = measureName;
	}

	@Basic
	@Column(name = "gender")
	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	@Basic
	@Column(name = "age_upper_limit")
	public Integer getAgeUpperLimit() {
		return ageUpperLimit;
	}

	public void setAgeUpperLimit(Integer ageUpperLimit) {
		this.ageUpperLimit = ageUpperLimit;
	}
	@Basic
	@Column(name = "age_lower_limit")
	public Integer getAgeLowerLimit() {
		return ageLowerLimit;
	}

	public void setAgeLowerLimit(Integer ageLowerLimit) {
		this.ageLowerLimit = ageLowerLimit;
	}

	@Basic
	@Column(name = "age_limit_union")
	public String getAgeLimitUnion() {
		return ageLimitUnion;
	}

	public void setAgeLimitUnion(String ageLimitUnion) {
		this.ageLimitUnion = ageLimitUnion;
	}

	@Basic
	@Column(name = "upper_limit")
	public String getUpperLimit() {
		return upperLimit;
	}

	public void setUpperLimit(String upperLimit) {
		this.upperLimit = upperLimit;
	}

	@Basic
	@Column(name = "lower_limit")
	public String getLowerLimit() {
		return lowerLimit;
	}

	public void setLowerLimit(String lowerLimit) {
		this.lowerLimit = lowerLimit;
	}

	@Basic
	@Column(name = "index_ids")
	public String getIndexIds() {
		return indexIds;
	}

	public void setIndexIds(String indexIds) {
		this.indexIds = indexIds;
	}

	@Basic
	@Column(name = "index_description")
	public String getIndexDescription() {
		return indexDescription;
	}

	public void setIndexDescription(String indexDescription) {
		this.indexDescription = indexDescription;
	}

	@Basic
	@Column(name = "create_time")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) {
            return true;
        }
		if (o == null || getClass() != o.getClass()) {
            return false;
        }
		FusIndexResult that = (FusIndexResult) o;
		return Objects.equals(indexResultId, that.indexResultId) &&
				Objects.equals(indexId, that.indexId) &&
				Objects.equals(indexResultContent, that.indexResultContent) &&
				Objects.equals(indexResultType, that.indexResultType) &&
				Objects.equals(upperLimit, that.upperLimit) &&
				Objects.equals(lowerLimit, that.lowerLimit) &&
				Objects.equals(indexDescription, that.indexDescription) &&
				Objects.equals(createTime, that.createTime);
	}

	@Override
	public int hashCode() {
		return Objects.hash(indexResultId, indexId, indexResultContent, indexResultType, upperLimit, lowerLimit,
                indexDescription, createTime);
	}
}
